There is a tradeoff between latency and complexity when delivering and presenting applications or documents over a network. Less complex content (for example, low fidelity version of content) can take less time to deliver over a network, parse and present to a user. More complex content (for example, high fidelity version of content) can take more time to deliver over a network, parse and present to a user. Progressive enhancement is a technique to deliver and present complex content with lower latency, by first delivering a low fidelity variant of the content and progressively enhancing parts of the content with high fidelity variants as they become available. This allows a user to start using the application or read the document relatively quickly, but still enjoy rich interactive elements once the rich interactive elements (high fidelity variants) are progressively delivered.